package cn.jiangjiesheng.bootstrap.fileport.infrastructure.annotation;


import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * Excel导出项配置
 *
 * @author pengzy
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD})
public @interface ExportConfig {

    /**
     * @return 表头显示名(如 ： id字段显示为 " 编号 ") 默认为字段名
     */
    String value() default "";

    /**
     * @return 单元格宽度
     */
    int width() default 10;

    /**
     * 将单元格值进行转换后再导出：<br/>
     * 目前支持以下几种场景：<br/>
     * 1. 固定的数值转换为字符串值（如：1代表男，2代表女）<br/>
     * <b>表达式:</b> "s:1=男,2=女"<br/>
     * <p>
     * 2. 数值对应的值需要查询数据库才能进行映射(实现xx.xx.poi.convert.ExportConvert接口)<br/>
     *
     * @return 默认不启用
     */
    String convert() default "";

    /**
     * 是否导出此字段，导出
     *
     * @return 默认true
     */
    boolean required() default true;

}
